package com.youlai.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.system.common.base.BaseQuery;
import com.youlai.system.model.entity.SysExam;
import com.youlai.system.model.query.ExamPageQuery;
import com.youlai.system.model.vo.*;

import java.util.List;

public interface SysExamService extends IService<SysExam> {

    /**
     * 获取考试名单
     *
     * @param studentId
     * @param courseId
     * @return
     */
    SysExam getExam(Long studentId, Long courseId);

    /**
     * @param studentId
     * @param courseId
     */
    boolean clearExamBy(Long studentId, Long courseId);

    /**
     * @param courseId
     * @return
     */
    boolean clearExamByCourseId(Long courseId);

    /**
     * 考试名单分页列表
     *
     * @return
     */
    IPage<ExamPageVO> getExamPage(ExamPageQuery queryParams);

    List<ExamPageVO> getExamList(ExamPageQuery queryParams);


    List<ExamDetailVO> getExamDetailList(Long examId);

    /**
     * 获取等级的数量
     *
     * @return
     */
    List<DegreeCountVO> getAllDegreeContList(BaseQuery baseQuery);

    /**
     * 获取部门等级的数量
     * @return
     */
    List<DeptDegreeCountVO> getDeptDegreeCountList();

    /**
     * 获取导出考试名单列表
     *
     * @param queryParams
     * @return
     */
    List<ExamExportVO> listExportExams(ExamPageQuery queryParams);
}
